﻿using System.ComponentModel;

namespace WixBuilder
{
    /// <summary>
    /// Values that represent WixIceCodes.
    /// </summary>
    public enum WixIceCodes
    {
        [Description("Simple test of ICE mechanism.")]
        ICE01,

        [Description("Circular reference test for File-Component, Registry-Component KeyPaths.")]
        ICE02,

        [Description("Basic data and foreign key validation.")]
        ICE03,

        [Description("Validates file sequence numbers against the LastSequence numbers of the Media Table.")]
        ICE04,

        [Description("Validates for \"required\" entries in particular tables.")]
        ICE05,

        [Description("Validates for missing column or tables in the database. Any column defined in the _Validation table must be found in the database.")]
        ICE06,

        [Description("Validates that fonts are installed to the FontsFolder.")]
        ICE07,

        [Description("Checks for duplicate GUIDs in the ComponentId column of the Component table.")]
        ICE08,

        [Description("Validates that the permanent bit is set for every component marked for installation into the SystemFolder.")]
        ICE09,

        [Description("Ensures that advertise feature states among children and parents are compatible.")]
        ICE10,

        [Description("Validates type 35 and type 51 custom actions and their locations in the sequence tables.")]
        ICE12,

        [Description("Validates that dialogs are not listed as actions in the execute sequence tables. Dialog actions are only allowed in the user interface sequence tables.")]
        ICE13,

        [Description("Validates that feature parents do not have the msidbFeatureAttributesFollowParent bit set. Also validates that the entries in the Feature and Feature_Parent columns are not the same in the same record.")]
        ICE14,

        [Description("Validates that a circular reference exists between every entry in the MIME table and the corresponding extension in the Extension table.")]
        ICE15,

        [Description("Validates that the ProductName in the Property table is not greater than 63 characters in length.")]
        ICE16,

        [Description("Validates control type dependencies in the Control table. Covers PushButtons, RadioButtonGroups, ListBoxes, ListViews, and ComboBoxes.")]
        ICE17,

        [Description("Validates the KeyPath column of the Component table when it is null. In this case, the key path is a Directory.")]
        ICE18,

        [Description("Validates the advertising tables: Class, TypeLib, Extension, PublishComponents, and Shortcut.")]
        ICE19,

        [Description("Validates that the required dialogs are in the Dialog table.")]
        ICE20,

        [Description("Validates that all components in the Component table map to a feature in the FeatureComponents table.")]
        ICE21,

        [Description("Validates that the Feature_ and Component_ columns in the PublishComponent table.")]
        ICE22,

        [Description("Validates the tab order of controls in all dialog boxes.")]
        ICE23,

        [Description("Validates certain properties in the Property table.")]
        ICE24,

        [Description("Verifies merge module dependencies and merge module exclusions.")]
        ICE25,

        [Description("Validates required and prohibited actions in the sequence tables.")]
        ICE26,

        [Description("Validates the organization and order of the sequence tables.")]
        ICE27,

        [Description("Validates actions that must not be separated by ForceReboot.")]
        ICE28,

        [Description("Validates that your stream names remain unique if truncated to the 62-character limit.")]
        ICE29,

        [Description("Validates that the installation of components containing the same file never install the file more than one time in the same directory.")]
        ICE30,

        [Description("Validates the text styles listed in the Text column of the control table.")]
        ICE31,

        [Description("Compares the column definitions to validate that keys and foreign keys are of the same size and type.")]
        ICE32,

        [Description("Checks the registry table for entries that belong in other tables.")]
        ICE33,

        [Description("Validates that every group of radio buttons has a default.")]
        ICE34,

        [Description("Validates that any files from a cabinet file cannot be set to run from the source.")]
        ICE35,

        [Description("Validates that icons listed in the Icon table are used in the Class, ProgID, or Shortcut tables.")]
        ICE36,

        [Description("Validates that components installed under the user's profile use a registry key under HKCU as their key path.")]
        ICE38,

        [Description("Validates the Summary Information stream of the database.")]
        ICE39,

        [Description("Performs various miscellaneous checks.")]
        ICE40,

        [Description("Validates that entries in the Extension and Class tables refer to components belonging to the referenced feature.")]
        ICE41,

        [Description("Checks that Class table entries do not have .exe files set as InProc values, and that only LocalServer contexts have arguments and DefInProc values.")]
        ICE42,

        [Description("Checks that non-advertised shortcuts are in components with HKCU registry keys as the key paths.")]
        ICE43,

        [Description("Checks that dialog events in the ControlEvent table (NewDialog, SpawnDialog, SpawnWaitDialog) reference valid Dialogs in the Dialog table.")]
        ICE44,

        [Description("Checks for reserved bits that are set.")]
        ICE45,

        [Description("Checks for custom properties that only differ from defined properties by their case.")]
        ICE46,

        [Description("Checks for features with more than 1600 components per feature..")]
        ICE47,

        [Description("Checks for directories that are hard-coded to local paths.")]
        ICE48,

        [Description("Checks for non-REG_SZ default values in the registry table.")]
        ICE49,

        [Description("Checks that advertised shortcuts have correct icons and context menus.")]
        ICE50,

        [Description("Checks that TTC/TTF fonts do not have titles, but that all other fonts do.")]
        ICE51,

        [Description("Checks for non-public properties in the AppSearch table.")]
        ICE52,

        [Description("Checks for registry entries that write private installer information or policy values.")]
        ICE53,

        [Description("Checks for components using companion files as their key path file.")]
        ICE54,

        [Description("Checks that LockPermission objects exist and have valid permissions.")]
        ICE55,

        [Description("Validates that the directory structure of the .msi file has a single valid root.")]
        ICE56,

        [Description("Validates that individual components do not mix per-machine and per-user data.")]
        ICE57,

        [Description("Checks that your Media Table does not have more than 80 rows.")]
        ICE58,

        [Description("Checks that advertised shortcuts belong to components that are installed by the target feature of the shortcut.")]
        ICE59,

        [Description("Checks that if a file in the File Table is not a font and has a version, then it also has a language.")]
        ICE60,

        [Description("Checks the Upgrade Table.")]
        ICE61,

        [Description("Performs extensive checks on the IsolatedComponent Table for data that may cause unexpected behavior.")]
        ICE62,

        [Description("Checks for proper sequencing of the RemoveExistingProducts action.")]
        ICE63,

        [Description("Checks that new directories in the user profile are removed in roaming scenarios.")]
        ICE64,

        [Description("Checks that the Environment Table does not have invalid prefix or append values.")]
        ICE65,

        [Description("Uses the tables in the database to determine which schema your database should use.")]
        ICE66,

        [Description("Checks that the target of a non-advertised shortcut belongs to the same component as the shortcut itself, or that the attributes of the target component ensure that it does not change installation locations.")]
        ICE67,

        [Description("Checks that all custom action types needed for an installation are valid.")]
        ICE68,

        [Description("Checks that all substrings of the form [$componentkey] within a Formatted string do not cross-reference components.")]
        ICE69,

        [Description("Verifies that integer values for registry entries are specified correctly.")]
        ICE70,

        [Description("Verifies that the Media Table contains an entry with DiskId equal to 1.")]
        ICE71,

        [Description("Ensures that the only custom actions used in the AdvtExecuteSequence Table are type 19, type 35, and type 51 custom actions.")]
        ICE72,

        [Description("Verifies that your package does not reuse package codes or product codes of the Windows Installer SDK samples. For more information, see Package Codes and Product Codes.")]
        ICE73,

        [Description("Verifies that the FASTOEM property has not been authored into the Property Table.")]
        ICE74,

        [Description("Verifies that all custom action types that use an installed file as their source are sequenced after the CostFinalize Action.")]
        ICE75,

        [Description("Verifies that no files in the BindImage Table reference SFP (WFP) catalogs.")]
        ICE76,

        [Description("Verifies that in-script custom actions are sequenced after the InstallInitialize Action and before the InstallFinalize Action.")]
        ICE77,

        [Description("Verifies that the AdvtUISequence Table either does not exist or is empty.")]
        ICE78,

        [Description("Validates references to components and features entered in the database fields using the Condition data type.")]
        ICE79,

        [Description("Validates that Template Summary Property and Page Count Summary Property correctly specify the presence of 64-bit components or custom action scripts.")]
        ICE80,

        [Description("Validates the MsiDigitalCertificate Table, MsiDigitalSignature Table and MsiPackageCertificate Table.")]
        ICE81,

        [Description("Validates the InstallExecuteSequence Table.")]
        ICE82,

        [Description("Validates the MsiAssembly Table.")]
        ICE83,

        [Description("Checks the sequence tables to verify that required Standard Actions are not set with conditions.")]
        ICE84,

        [Description("Validates that the SourceName column of the MoveFile Table is a valid long file name.")]
        ICE85,

        [Description("Issues a warning if the package uses the AdminUser property in database column of the Condition type.")]
        ICE86,

        [Description("Validates that the following properties have not been authored in the Property Table.")]
        ICE87,

        [Description("Validates the DirProperty column of IniFile Table.")]
        ICE88,

        [Description("Validates that the value in the Progid_Parent column in ProgId Table is a valid foreign key into the ProgId column in ProgId table.")]
        ICE89,

        [Description("Posts a warning if it finds that a shortcut's directory has been specified as a public property.")]
        ICE90,

        [Description("Posts a warning if a file, .ini file, or shortcut file is installed into a per-user profile directory that does not vary based on the ALLUSERS property.")]
        ICE91,

        [Description("Verifies that a component without a Component Id GUID is not also specified as a permanent component. Verifies that no component has both the msidbComponentAttributesPermanent and msidbComponentAttributesUninstallOnSupersedence attributes.")]
        ICE92,

        [Description("Issues a warning if a custom action uses the same name as a standard action.")]
        ICE93,

        [Description("Issues a warning if there are any unadvertised shortcuts pointing to an assembly file in the global assembly cache.")]
        ICE94,

        [Description("Checks the Control Table and BBControl Table to verify that the billboard controls fit onto all the billboards.")]
        ICE95,

        [Description("Verifies that the PublishFeatures Action and the PublishProduct Action are entered in the AdvtExecuteSequence Table.")]
        ICE96,

        [Description("Verifies that two components do not isolate a shared component to the same directory.")]
        ICE97,

        [Description("Verifies the description field of the ODBCDataSource Table for an ODBC data source.")]
        ICE98,

        [Description("Verifies that no property name entered in the Directory table duplicates a name reserved for the public or private use of the Windows Installer.")]
        ICE99,

        [Description("Checks the authoring of the MsiEmbeddedUI and MsiEmbeddedChainer tables.")]
        ICE100,

        [Description("Checks that no value in the Feature column of the Feature table exceeds a maximum length of 38 characters.")]
        ICE101,

        [Description("Validates the MsiServiceConfig and MsiServiceConfigFailureActions tables.")]
        ICE102,

        [Description("Validates the MsiPrint and MsiLaunchApp control events.")]
        ICE103,

        [Description("Verifies the MsiLockPermissionsEx and LockPermissions tables.")]
        ICE104,

        [Description("Validates that the package has been authored to be installed in a per-user context.")]
        ICE105
    }
}